﻿using System.Text;
using CommandLine;
using CommandLine.Text;

namespace AIC_Notification
{
    public enum RunType
    {
        full,
        update,
        cache,
        skip
    }

    public enum ApplicationType
    {
        sof,
        guidance,
        unsupported
    }

    class CommandLineOptions
    {
        [Option('t', "type", HelpText = "Select Application-Type: sof, guidance.", Default = ApplicationType.sof)]
        public ApplicationType ApplicationType { get; set; }

        [Option('r', "run", HelpText = "Select Run-Type: full, update, cache.", Default = RunType.full)]
        public RunType RunType { get; set; }

        [Option('x', "task", HelpText = "Enable Task Processing.", Default = false)]
        public bool Task { get; set; }

        [Option('e', "email", HelpText = "Enable Email.", Default = false)]
        public bool Email { get; set; }

        /*

                [Option('p', "report", Separator = ' ', HelpText = "Reports to run.")]
                public string[] Reports { get; set; }

                [HelpOption]
                public string GetUsage()
                {
                    // this without using CommandLine.Text
                    //  or using HelpText.AutoBuild
                    var usage = new StringBuilder();
                    usage.AppendLine("Quickstart Application 1.0");
                    usage.AppendLine("Read user manual for usage instructions...");
                    return usage.ToString();
                }
        */
    }
}
